import 'package:get_it/get_it.dart';
import 'package:injectable/injectable.dart';

import 'dl.config.dart';

final getIt = GetIt.instance;

/// InjectableInit 注解配置
///
/// 该注解用于配置依赖注入的初始化设置
///
/// 参数说明:
/// - initializerName: 指定初始化方法的名称，默认为 'init'
/// - preferRelativeImports: 是否优先使用相对导入路径，默认为 true
/// - asExtension: 是否作为扩展方法生成，默认为 true
@InjectableInit(
  initializerName: 'init', // default
  preferRelativeImports: true, // default
  asExtension: true, // default
)
// void configureDependencies() => getIt.init();
// 2. 初始化函数（会生成对应的实现）
void configureDependencies(String environment) => getIt.init(environment: environment);
